With modern computers running software packages for word processing, desktop publishing, graphic design or computer aided design, a user can create a vast array of documents for a variety of purposes. Once these documents are created, it is generally necessary or desirable to print a hardcopy of the work. For this purpose, sophisticated printing devices have been developed that can accept the data generated by a computer and print the desired document.
As used herein, the term “printer” will be used generically to refer to all such image printing devices that receive data from a computerized system and render or print that data to a print medium, such a sheet of paper. Consequently, the term “printer” includes, but is not limited to, laser printers, inkjet printers, dot-matrix printers, facsimile machines, digital copiers, plotters, and the like. The term “printer” also includes image printing devices which transfer an optical image to a printing drum for replication, e.g. a photographic or xerographic copier.
As used herein, the term “printer client” will be used generically to refer to all computerized systems that transmit image data to a printer from which the printer generates a printed image. Consequently, the term “printer client” includes, but is not limited to, a personal computer, a laptop, a server, a scanner, a modern, or the like. A printer client may also be referred to as a host.
Most printers have devices integrated therein for handling the most likely print medium, paper. These paper handling devices grab individual sheets of paper from a paper supply or tray and move the paper along a transport path through the printer so that the image specified by the data received from the printer client can be rendered by the printer on the paper. Some printers, for reasons such as high speed and large volume, require larger, more robust and sophisticated paper handling devices which are built as a separate unit and then functionally connected to the printer. This paper handling device may be a device for feeding paper to the printer, or a device for collating, sorting, etc., the output of the printer. As used herein, the term “paper handling device” will refer to such a paper handling device which is built as a separate unit and which is functionally connected to a printer to handle paper input to, or output from, that printer.
Generally, in order for a printer client to be able to send image data to a printer, the printer client must have software known as a printer driver. The printer driver provides the functionality required to translate the image data resident on the printer client to data that can be transmitted to and used by the printer to print the corresponding image. Generally, each printer or class of printers has a unique printer driver which must be installed on the printer client before the client can make use of the printer.
The printer driver may also include error management features that assist a user to identify and correct errors with the printer. For example, the printer may signal an error such as a paper jam, lack of paper, depleted supply of toner, etc. This signal is interpreted by the printer driver and an appropriate message is displayed on the monitor of the printer client. In some cases, the message may prompt the printer client to access a bitmap image of the printer. This bitmap is stored on the printer client and installed as part of the printer driver on the printer client. When an error message arrives from the printer, the printer driver can use the bitmap image to display a graphic illustrating the printer and show where the error, such as a paper jam, has occurred so that the error can be more readily corrected.
The same applies to a paper handling device used with the printer. The driver installed on the printer client may also translate error messages and provide appropriate text and graphics to alert a user to the existence and nature of a problem in the paper handling device.
Consequently, when a driver is installed on a printer client, the driver must be customizable to account for any possible printer configuration and printer/paper handling device combination, including having appropriate graphics for illustrating error locations and correction instructions. As a result, the driver must incorporate a large amount of data to be adaptable to any printer/paper handling device combination. Moreover, any time a printer or paper handling device is replaced or changed, the driver must be reinstalled to match the new configuration.
This problem can be exacerbated if the printer and paper handling devices are made by different manufacturers. In such a case, it may be difficult for the printer manufacturer, who typically supplies the driver software, to obtain the error management data, particularly graphic data, for the paper handling device so that the driver can be designed to fully support textual and graphical error management data received from the paper handling device.
Therefore, there is a need in the art for an improved system and method of distributing and dynamically managing error management data for a printer or a printer/paper handling device combination so that the printer driver provided with the printer can be more generalized and requires less error management data at the time of installation.